package com.uls.ldcm.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.uls.common.annotation.Excel;
import com.uls.common.core.domain.BaseEntity;

/**
 * 薪资记录对象 lb_salaryrecords
 * 
 * @author gw
 * @date 2024-11-11
 */
public class Salaryrecords extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 薪资记录唯一标识 */
    private Long recordId;

    /** 劳务人员ID */
    @Excel(name = "劳务人员ID")
    private Long laborerId;

    private String name;

    /** 薪资月份 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "薪资月份", width = 30, dateFormat = "yyyy-MM-dd")
    private Date salaryMonth;

    /** 基本工资 */
    @Excel(name = "基本工资")
    private BigDecimal basicSalary;

    /** 奖金 */
    @Excel(name = "奖金")
    private BigDecimal bonus;

    /** 津贴 */
    @Excel(name = "津贴")
    private BigDecimal allowances;

    /** 加班小时数 */
    @Excel(name = "加班小时数")
    private BigDecimal overtimeHours;

    /** 加班费 */
    @Excel(name = "加班费")
    private BigDecimal overtimePay;

    /** 总薪资 */
    @Excel(name = "总薪资")
    private BigDecimal totalSalary;

    /** 创建时间 */
    private Date createdAt;

    /** 更新时间 */
    private Date updatedAt;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setRecordId(Long recordId)
    {
        this.recordId = recordId;
    }

    public Long getRecordId() 
    {
        return recordId;
    }
    public void setLaborerId(Long laborerId) 
    {
        this.laborerId = laborerId;
    }

    public Long getLaborerId() 
    {
        return laborerId;
    }
    public void setSalaryMonth(Date salaryMonth) 
    {
        this.salaryMonth = salaryMonth;
    }

    public Date getSalaryMonth() 
    {
        return salaryMonth;
    }
    public void setBasicSalary(BigDecimal basicSalary) 
    {
        this.basicSalary = basicSalary;
    }

    public BigDecimal getBasicSalary() 
    {
        return basicSalary;
    }
    public void setBonus(BigDecimal bonus) 
    {
        this.bonus = bonus;
    }

    public BigDecimal getBonus() 
    {
        return bonus;
    }
    public void setAllowances(BigDecimal allowances) 
    {
        this.allowances = allowances;
    }

    public BigDecimal getAllowances() 
    {
        return allowances;
    }
    public void setOvertimeHours(BigDecimal overtimeHours) 
    {
        this.overtimeHours = overtimeHours;
    }

    public BigDecimal getOvertimeHours() 
    {
        return overtimeHours;
    }
    public void setOvertimePay(BigDecimal overtimePay) 
    {
        this.overtimePay = overtimePay;
    }

    public BigDecimal getOvertimePay() 
    {
        return overtimePay;
    }
    public void setTotalSalary(BigDecimal totalSalary) 
    {
        this.totalSalary = totalSalary;
    }

    public BigDecimal getTotalSalary() 
    {
        return totalSalary;
    }
    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }
    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("recordId", getRecordId())
            .append("laborerId", getLaborerId())
            .append("salaryMonth", getSalaryMonth())
            .append("basicSalary", getBasicSalary())
            .append("bonus", getBonus())
            .append("allowances", getAllowances())
            .append("overtimeHours", getOvertimeHours())
            .append("overtimePay", getOvertimePay())
            .append("totalSalary", getTotalSalary())
            .append("createBy", getCreateBy())
            .append("createdAt", getCreatedAt())
            .append("updateBy", getUpdateBy())
            .append("updatedAt", getUpdatedAt())
            .toString();
    }
}
